package com.gl.order.service;

import com.gl.order.entity.TPermission;
import com.gl.order.entity.dto.PermissionDto;
import com.gl.order.entity.dto.UpdatePermissionDto;

import java.util.List;

public interface PermissionService {

    /**
     * 添加权限
     * @param dto
     */
    void add(PermissionDto dto);

    /**
     * 根据用户id获取用户权限列表
     * @param userId
     * @return
     */
    List<String> getPermissionByUserId(String userId);

    /**
     * 获取所有权限列表
     * @return
     */
    List<TPermission> list();

    /**
     * 根据权限名称或权限值获取权限
     * @param name 权限名称
     * @param code 权限值
     * @return
     */
    TPermission findByNameOrCode(String name,String code);

    /**
     * 修改权限
     * @param dto
     */
    void updatePermission(UpdatePermissionDto dto);

    /**
     *  删除权限
     */
    int delPermission(String id);

    /**
     * 根据权限id获取权限数据
     * @param id
     * @return
     */
    TPermission findById(String id);
}
